//#define _CRT_SECURE_NO_WARNINGS 1
//
//#include<iostream>
//using namespace std;
//
//struct Stack
//{
//public:
//	void Init(int n)
//	{
//		arr = (int*)malloc(sizeof(int) * n);
//		if (arr == nullptr)
//		{
//			perror("malloc");
//			return;
//		}
//		Top = 0;
//		capacity = n;
//	}
//
//	void push(int x)
//	{
//		if (capacity == Top)
//		{
//			int newcapacity = 2 * capacity;
//			int* temp = (int*)realloc(arr, sizeof(int*) * newcapacity);
//			if (temp == nullptr)
//			{
//				perror("Push");
//				return;
//			}
//			arr = temp;
//			capacity = newcapacity;
//		}
//		arr[Top++] = x;
//	}
//
//	int* arr;
//	int Top;
//	int capacity;
//};
//
//int main()
//{
//	Stack st1;
//	st1.Init(4);
//
//	st1.push(1);
//	st1.push(1);
//	st1.push(1);
//	st1.push(1);
//	st1.push(1);
//	st1.push(2);
//	cout << st1.arr[st1.Top - 1] << endl;
//	return 0;
//}
